home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / amok_lha / amok18.lha / IFFLib / IFFLib.def < prev    next >
Text File  |  1993-08-15  |  4KB  |  101 lines

  1. (*---------------------------------------------------------------------------
  2.     :Program.    IFFLib.def
  3.     :Author.     Fridtjof Siebert
  4.     :Address.    Nobileweg 67, D-7-Stgt-40
  5.     :Shortcut.   [fbs]
  6.     :Version.    1.0
  7.     :Date.       25-Feb-89
  8.     :Copyright.  PD
  9.     :Language.   Modula-II
  10.     :Translator. M2Amiga v3.1d
  11.     :Imports.    IFFLib [fbs]/Christian A. Weber
  12.     :Contents.   M2 Library module for the iff.library
  13.     :Remark.     You must copy Christian Weber's iff.library to your LIBS:.
  14. ---------------------------------------------------------------------------*)
  15.  
  16. DEFINITION MODULE IFFLib {"iff.library",15};
  17.  
  18. FROM SYSTEM   IMPORT ADDRESS;
  19. FROM Exec     IMPORT UByte;
  20. FROM Graphics IMPORT ViewModeSet, BitMapPtr;
  21.  
  22. CONST
  23.   iffname = "iff.library";
  24.   iffversion = 15;          (* Current library version *)
  25.  
  26.  
  27. (************** E R R O R - C O D E S ***********************************)
  28.  
  29.   iffBadTask            = -1;       (* IffError() called by wrong task *)
  30.  
  31.   iffCantOpenFile       = 16;       (* File not found *)
  32.   iffReadError          = 17;       (* Error reading file *)
  33.   iffNoMem              = 18;       (* Not enough memory *)
  34.   iffNotIFF             = 19;       (* File is not an IFF file *)
  35.   iffWriteError         = 20;       (* Error writing file *)
  36.  
  37.   iffNoILBM             = 24;       (* IFF file is not of type ILBM *)
  38.   iffNoBMHD             = 25;       (* BMHD chunk not found *)
  39.   iffNoBODY             = 26;       (* BODY chunk not found *)
  40.   iffTooManyPlanes      = 27;       (* BODY has more planes than BitMap *)
  41.   iffUnknownCompression = 28;       (* Unknown compression type *)
  42.  
  43.  
  44. (************** S T R U C T U R E S *************************************)
  45.  
  46. TYPE
  47.   ChunkPtr = POINTER TO Chunk;
  48.   Chunk = RECORD
  49.     ckID: LONGINT;
  50.     ckSize: LONGINT;
  51.     ckData: ARRAY [0..999999] OF UByte; (* ARRAY [0..ckSize] OF UByte *)
  52.   END;
  53.  
  54.   BitMapHeaderPtr = POINTER TO BitMapHeader;
  55.   BitMapHeader = RECORD
  56.     w,h: CARDINAL;
  57.     x,y: INTEGER;
  58.     nPlanes: UByte;
  59.     masking: UByte;
  60.     compression: UByte;
  61.     pad1: UByte;
  62.     transparentColor: CARDINAL;
  63.     xAspect,yAspect: UByte;
  64.     pageWidth,pageHeight: INTEGER;
  65.   END;
  66.  
  67. (************** F L A G S   F O R  S a v e B i t M a p ()  **************)
  68.  
  69.   SaveIFFFlags = (cmpByteRun1,sf1,sf2,sf3,sf4,sf5,sf6,saveHAM,sf8);
  70.   SaveIFFFlagSet = SET OF SaveIFFFlags;
  71.  
  72. (* Set cmpByteRun1 to create compressed file.  *)
  73. (* Set saveHAM to save HAM Pictures.           *)
  74.  
  75.  
  76. (************** F U N C T I O N   D E C L A R A T I O N S ***************)
  77.  
  78. PROCEDURE OpenIFF(name{8}: ADDRESS): ADDRESS;               CODE - 30;
  79. PROCEDURE CloseIFF(ifffile{9}: ADDRESS);                    CODE - 36;
  80. PROCEDURE FindChunk(ifffile{9}: ADDRESS;
  81.                     name{0}: ADDRESS): ChunkPtr;            CODE - 42;
  82. PROCEDURE GetBMHD(ifffile{9}: ADDRESS): BitMapHeaderPtr;    CODE - 48;
  83. PROCEDURE GetColorMap(ifffile{9}: ADDRESS;
  84.                       colorTable{8}: ADDRESS): LONGINT;     CODE - 54;
  85. PROCEDURE DecodePic(ifffile{9}: ADDRESS;
  86.                     bitmap{8}: BitMapPtr): BOOLEAN;         CODE - 60;
  87. PROCEDURE SaveBitMap(filename{8}: ADDRESS;
  88.                      bitMap{9}: BitMapPtr;
  89.                      colorTable{10}: ADDRESS;
  90.                      flags{0}: SaveIFFFlagSet): BOOLEAN;    CODE - 66;
  91. PROCEDURE SaveClip(filename{8}: ADDRESS;
  92.                    bitmap{9}: BitMapPtr;
  93.                    coltab{10}: ADDRESS;
  94.                    flags{0}: SaveIFFFlagSet;
  95.                    xoff{1},yoff{2}: INTEGER;
  96.                    width{3},height{4}: INTEGER): BOOLEAN;   CODE - 72;
  97. PROCEDURE IffError(): INTEGER;                              CODE - 78;
  98. PROCEDURE GetViewModes(ifffile{9}: ADDRESS): ViewModeSet;   CODE - 84;
  99.  
  100. END IFFLib.
  101.